查看原文
其他

给文件搬家——copy&XCOPY

爬虫俱乐部 Stata and Python数据分析 2023-10-24

本文作者:兰博文  河南大学经济学院

本文编辑:陈梦鹭

技术总编:李婷婷








Stata and Python 数据分析

爬虫俱乐部Stata基础课程Stata进阶课程Python课程可在小鹅通平台查看,欢迎大家多多支持订阅!如需了解详情,可以通过课程链接(https://appbqiqpzi66527.h5.xiaoeknow.com/homepage/10)或课程二维码进行访问哦~

在Stata中,如果想要进行文件复制操作的话,使用copy命令会非常方便快捷。copy命令是Stata中的内部命令,常常用于复制文件和读取网页源代码;与copy相似的还有XCOPY命令,XCOPY命令是Windows系统中的磁盘操作命令(DOS)。虽然XCOPY命令并不是Stata的内部命令,但我们可以通过Stata调用XCOPY命令,它不仅可以复制文件,也可以复制文件夹。二者既有相同点也有不同之处,下面就让我们看一下它们的具体用法:

一、copy命令



1、文件复制:将一个文件转移到另一个地方
copy命令语法为 copy filename1 filename2 [,options]

这里的filename1是你要复制的原文件的路径及文件名,filename2是你要将文件复制到的目标路径及文件名。例如:

(1)copy文件至另一文件夹但不改变文件名称

copy C:/file1/1.txt D:/file2/

(2)copy文件至另一文件夹并改变文件名称

copy C:/file1/1.txt D:/file2/2.txt

(3)如果另一文件夹中存在同名文件,使用replace选项

copy C:/file1/1.txt D:/file2/2.txt,replace

(4)如果地址中出现空格,需要使用引号防止出错,例如:

copy "C:/file 1/1.txt" D:/file2

2.读取网页源代码:

如果我们想要获取一个网页的源代码,那么可以使用copy命令:

clear allcapture mkdir D:/file2cd D:/file2copy “https://vip.stock.finance.sina.com.cn/corp/go.php/vCB_Bulletin/stockid/600900/page_type/ndbg.phtml”temp1.txt,replace

这样就能把网页的源代码放在D:/file2/temp1.txt中保存起来。

3.下载文件

当然了,我们也可以使用copy命令来下载文件。例如,如果我们想要在NBER网站上下载一篇文章,首先,我们先找到这篇文章的网址:https://www.nber.org/papers/w31484.pdf

然后输入以下命令:

clear allcapture mkdir D:/nbercd D:/nbercopy “https://www.nber.org/papers/w31484.pdf” D:/nber/w3184.pdf,replace

这样的话,就把这个文件保存在D盘下nber文件夹中了。


二、XCOPY命令



XCOPY命令是Windows操作系统中用于复制文件和文件夹的DOS命令,如果想要在Stata中使用XCOPY命令,我们只需要在 DOS 命令前添加英文状态下的“!”就可以在Stata中实现对XCOPY的调用。需要说明的是,Stata中的命令是不区分大小写的,这里我们将XCOPY命令大写只是为了与Stata的命令有所区别。

XCOPY的语法如下

!XCOPY source_path destination_path /options

这里的source_path是你要复制的源文件或源文件夹的路径,destination_path是你要将文件或文件夹复制到的目标路径,/options是XCOPY命令的附加选项。

(注:在Windows的XCOPY命令中,正斜杠“/”通常用作选项或参数的前缀,而不是作为路径分隔符。因此,在XCOPY命令中使用/作为路径分隔符可能不会产生预期的效果,需要使用\作为路径分隔符,以便正确识别目标路径,并执行文件复制操作。)

通过XCOPY命令,我们可以实现对文件的复制,达到前面所述copy命令的效果:

!XCOPY C:\file1\1.txt D:\2.txt

并且XCOPY命令还有着copy命令所不具有的功能,那就是实现文件夹的复制,不过这就需要一定的条件和附加选项,如果不加附加选项,XCOPY命令就不能复制文件夹。

例如: 

在不加附加选项的情况下

!XCOPY C:\file1\1.txt D:\file2\

XCOPY命令只能将C盘file1中的文件复制到D盘的file2中,而不能复制目录。

因此,想要复制目录的话,就要了解不同的附加选项起到的作用:

/S 可以复制目录和子目录,但不包括空目录。

例如:

!XCOPY C:\file1 D:\file2 /S

目录2被成功复制,但由于目录3为空目录,因此未被复制。

/E 可以复制目录和子目录,包括空目录,其作用与 /S /E 相同。

例如:

!XCOPY C:\file1 D:\file2 /E

/T 能够创建目录结构,但不能复制文件,并且不包括空目录或子目录。使用/T /E 能够复制空目录和子目录。

例如:

!XCOPY C:\file1 D:\file2 /T

空目录3和文件1均未被复制。

以上就是copy命令和XCOPY命令一些基本用法的介绍了,我们可以看到,对于简单的单个文件复制操作,copy 命令可能更为简便,但对于大量文件和文件夹的操作,XCOPY命令 比 copy命令更加强大和灵活。因此,大家在Stata使用时,要根据具体的需求选择合适的命令,可以更高效地完成文件的复制任务!


END



重磅福利!为了更好地服务各位同学的研究,爬虫俱乐部将在小鹅通平台上持续提供金融研究所需要的各类指标,包括上市公司十大股东、股价崩盘、投资效率、融资约束、企业避税、分析师跟踪、净资产收益率、资产回报率、国际四大审计、托宾Q值、第一大股东持股比例、账面市值比、沪深A股上市公司研究常用控制变量等一系列深加工数据,基于各交易所信息披露的数据利用Stata在实现数据实时更新的同时还将不断上线更多的数据指标。我们以最前沿的数据处理技术、最好的服务质量、最大的诚意望能助力大家的研究工作!相关数据链接,请大家访问:(https://appbqiqpzi66527.h5.xiaoeknow.com/homepage/10)或扫描二维码:


对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!







往期推文推荐NLTK,全面的Python基础NLP库
爬取A股上市公司指定年份年报
机器学习——监督学习入门‍‍禁忌魔法解封,击穿专业壁垒:ChatGPT code interpreter暑期来啦~⼀起看⼀看近期的天⽓情况【命令重磅更新】在Stata中深入使用ChatGPT
爬虫俱乐部2023第一期编程训练营开始报名啦!
【爬虫基础】Scrapy爬虫框架迈向交互式编程,ChatGPT更新!一个简单又好玩的Python库——MyQR
replace命令的“加强版”!——如何使用ereplace,结合egen
XML 轻松读取:用 Python 发现数据宝藏

爬虫俱乐部重磅推出cnstata.com.cn

Markdown:让数学公式输入更方便!

处理日期的好手:pendulum
定制属于自己的“贾维斯”——Python调用Chat
学会format,数据格式任你拿捏【Python实战】游客最青睐的城市,你的家乡上榜了吗?

What’ new ? 速通Stata 18

【爬虫实战】Python爬取美食菜谱     关于我们 

   微信公众号“Stata and Python数据分析”分享实用的Stata、Python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。

   武汉字符串数据科技有限公司一直为广大用户提供数据采集和分析的服务工作,如果您有这方面的需求,请发邮件到statatraining@163.com,或者直接联系我们的数据中台总工程司海涛先生,电话:18203668525,wechat: super4ht。海涛先生曾长期在香港大学从事研究工作,现为知名985大学的博士生,爬虫俱乐部网络爬虫技术和正则表达式的课程负责人。



此外,欢迎大家踊跃投稿,介绍一些关于Stata和Python的数据处理和分析技巧。

投稿邮箱:statatraining@163.com投稿要求:1)必须原创,禁止抄袭;2)必须准确,详细,有例子,有截图;注意事项:1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存